package algorithm

import "fmt"
//插入排序
func insertSort(arr []int,gap int)  {
	for x:=gap;x<len(arr);x++{
		for i:=0;i+gap<len(arr);i++{
			if arr[i]>arr[i+gap]{
				arr[i],arr[i+gap]=arr[i+gap],arr[i]
			}
		}
	}
}

func ShellSort()  {
	arr:=[]int{2,3,10,9,8,7,1,5,4,6,6,10,88,99,100}

	gap:=len(arr)/2
	for gap>0{
		insertSort(arr,gap)
		gap=gap/2
	}
	fmt.Println(arr)
}
